package com.ruoyi.sbgl.sbxxgl.service;

import java.util.List;
import com.ruoyi.sbgl.sbxxgl.domain.Sbxxgl;
import com.ruoyi.sbgl.sbxxgl.domain.SbxxglFj;
import com.ruoyi.sbgl.sbxxgl.vo.SbZtCountVo;
import com.ruoyi.sbgl.sbxxgl.vo.SbZtVo;
import com.ruoyi.sbgl.sbxxgl.vo.UserDlVo;

/**
 * 设备信息管理Service接口
 *
 * @author huacai
 * @date 2024-09-09
 */
public interface ISbxxglService
{
    /**
     * 查询设备信息管理
     *
     * @param sbxxglId 设备信息管理主键
     * @return 设备信息管理
     */
    public Sbxxgl selectSbxxglBySbxxglId(String sbxxglId);

    /**
     * 查询设备信息管理列表
     *
     * @param sbxxgl 设备信息管理
     * @return 设备信息管理集合
     */
    public List<Sbxxgl> selectSbxxglList(Sbxxgl sbxxgl);


    /**
     * 查询送检预警列表
     * @param sbxxgl
     * @return
     */
    List<Sbxxgl> selectSjyjList(Sbxxgl sbxxgl);

    /**
     * 新增设备信息管理
     *
     * @param sbxxgl 设备信息管理
     * @return 结果
     */
    public int insertSbxxgl(Sbxxgl sbxxgl);

    /**
     * 批量新增设备信息管理
     *
     * @param sbxxgls 设备信息管理List
     * @return 结果
     */
    public int batchInsertSbxxgl(List<Sbxxgl> sbxxgls);

    /**
     * 修改设备信息管理
     *
     * @param sbxxgl 设备信息管理
     * @return 结果
     */
    public int updateSbxxgl(Sbxxgl sbxxgl);

    /**
     * 批量删除设备信息管理
     *
     * @param sbxxglIds 需要删除的设备信息管理主键集合
     * @return 结果
     */
    public int deleteSbxxglBySbxxglIds(String[] sbxxglIds);

    /**
     * 删除设备信息管理信息
     *
     * @param sbxxglId 设备信息管理主键
     * @return 结果
     */
    public int deleteSbxxglBySbxxglId(String sbxxglId);

    /**
     * 新增附件
     * @param sbxxglFj
     * @return
     */
    int insertSbXxGlFjBysbxxglId(SbxxglFj sbxxglFj);

    /**
     * 根据ID查询附件列表
     * @param sbxxglFj
     * @return
     */
    List<SbxxglFj> selectSbXxGlFjList(SbxxglFj sbxxglFj);

    /**
     * 批量删除设备信息管理附件
     *
     * @param fjIds 需要删除的设备信息管理附件主键集合
     * @return 结果
     */
    public int deleteSbxxglFjByFjIds(Integer[] fjIds);

    /**
     * 查询设备状态数
     * @param sbZtCountVo
     * @return
     */
    List<SbZtCountVo> selectSbZtCount(SbZtCountVo sbZtCountVo);

    /**
     * 大屏 设备状态图
     * @return
     */
    SbZtVo getSbZtBt();

    /**
     * 查询登录次数最多的前5个人和次数
     * @return
     */
    List<UserDlVo> selectUserByDl();
}
